package main

import (
	"fmt"
	"math"
)

func main() {
	//第一种：用字符串方式反转，不限制输入必须为数字
	//输入一个整数，给它反转 1234-》4321
	var a string
	fmt.Scan(&a)
	var str string
	for _, i := range a {
		str = string(i) + str
	}
	fmt.Println(str)

	//第二种：将输入限制为整数类型,输入有误就得不到反转值
	//输入一个整数，给它反转 1234-》4321
	var b int
	fmt.Scan(&b)
	c := int(b) //1234
	d := int(b) //1234
	count := 0
	for ; c != 0; count++ {
		c = c / 10
	} //c==0,count==4,统计输入数字位数为4
	arr := make([]int, count)                         //创建长度为4的数组
	for e := count - 1; e >= 0 && e < len(arr); e-- { //e=3，count==4，len(arr)==4
		if e == count-1 {
			arr[e] = d / int(math.Pow(10, float64(e)))
		} else {
			arr[e] = d / int(math.Pow(10, float64(e))) % 10
		} //得出arr[]={4,3,2,1}
	}
	var reverse int
	j := count - 1
	for i := 0; i < len(arr) && i >= 0 && j >= 0; i++ { //len(arr)==4,  i:0,1,2,3
		reverse += arr[i] * int(math.Pow(10, float64(j))) //将数字倒置组装
		j--
	}
	fmt.Println(reverse)
}
